WIP feat(gnoland1): cherry-pick client updates from master#5298
Open
moul wants to merge 5 commits intochain/gnoland1from
Open
WIP feat(gnoland1): cherry-pick client updates from master#5298moul wants to merge 5 commits intochain/gnoland1from
moul wants to merge 5 commits intochain/gnoland1from
Conversation
- Switch siteverify endpoint to the canonical `https://api.hcaptcha.com/siteverify` - Send `remoteip` (recommended by hCaptcha docs) to improve fraud signal accuracy; the value is the already-validated client IP resolved by `ipMiddleware`, threaded through via request context - Add optional `--captcha-sitekey` flag; when set, the sitekey is forwarded to hCaptcha's siteverify endpoint to prevent tokens issued for other sites from being accepted - Add `--log-level` flag to the `serve` command (default `info`), replacing the previously hardcoded `debug` level across all subcommands; consolidate the three duplicate logger constructions into a single `newLogger` method on `serveCfg` - Add structured `debug`-level logging around each hCaptcha verification call (request params and response fields including `error_codes`), observable in production by setting `--log-level debug`
alloc per-byte, first step to correct/improve gas assumption for memory allocation.
Safari iOS does not re-evaluate CSS custom properties in SVG inline style attributes when variable values change dynamically. The logo fills were invisible in dark mode because `fill: var(--s-logo-hat)` set via inline style was never recalculated after the theme switch. **Fix: moved fills to CSS stylesheet rules (`b-gnome/b-logo blocks`) so the browser cascades correctly on theme change.** Tested on Safari iOS (iPhone) in dark mode: logo now renders correctly on initial load without requiring any repaint. <img width="45%" height="1434" alt="IMG_4054" src="https://github.com/user-attachments/assets/91dcc5e4-17b0-4f9c-8baa-84467185d390" /> <img width="45%" height="1434" alt="IMG_4053" src="https://github.com/user-attachments/assets/2048fc94-71d6-458d-9de6-325c659b4264" />
Collaborator
🛠 PR Checks SummaryAll Automated Checks passed. ✅ Manual Checks (for Reviewers):
Read More🤖 This bot helps streamline PR reviews by verifying automated checks and providing guidance for contributors and reviewers. ✅ Automated Checks (for Contributors):No automated checks match this pull request. ☑️ Contributor Actions:
☑️ Reviewer Actions:
📚 Resources:Debug
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
ajnavarro
approved these changes
Mar 16, 2026
Contributor
|
I think you need to run make generate too. |
## Summary Complete genesis configuration and tooling for the `gnoland1` betanet launch. ### Genesis configuration (`misc/deployments/gnoland1/`) - **`gen-genesis.sh`** — deterministic genesis generation script. Builds all example packages, creates governance bootstrap transactions (govDAO setup, validator registration, chain params), adds deployer + airdrop balances, and produces a verified `genesis.json`. - **`govdao_prop1.gno`** — MsgRun executed at genesis to bootstrap governance: sets up a temporary deployer as sole T1 member, registers initial validators, locks bank transfers, enables namespace enforcement, adds manfred as T1 member, then locks down the memberstore. - **`config.toml`** — reference node config with `# TODO` markers for operator-specific fields (moniker, external address, persistent peers, seeds). - **`Makefile`** — `make help`, `make generate` (with sha256 verification), `make test` (boots a node to validate genesis block execution), `make clean`. - **`README.md`** — 5-step validator setup guide (generate, build, configure, start, verify+join). ### Genesis validators (7, BFT >2/3 → 5 must be up) gnocore-val-01, gnocore-val-02, moul-val-01, aeddi-val-01, berty-val-01, samourai-crew-1, onbloc-val-01 ### GovDAO scripts (`govdao-scripts/`) Post-genesis operational scripts for govDAO members: - `add-validator.sh` / `rm-validator.sh` — add/remove validators via govDAO proposal - `add-validator-from-valopers.sh` — add validator registered at `r/gnops/valopers` - `extend-govdao-t1.sh` — one-time bootstrap: adds 6 T1 members (Jae, Morgan, Ray, Dongwon, Maxwell, Milos) - `unrestrict-account.sh` — allow address(es) to transfer ugnot when bank is locked ### Node changes - **`-x-early-start` flag** (`tm2/pkg/bft/node/node.go`, `gno.land/cmd/gnoland/start.go`) — experimental flag that starts RPC + P2P before genesis time, deferring only consensus. Helps validators discover each other and sync before the chain starts producing blocks. ## Test plan - [x] `make generate` produces a deterministic `genesis.json` with matching sha256 - [x] `make test` boots a node and validates genesis block execution - [x] Node starts with `--skip-genesis-sig-verification` and syncs - [x] `-x-early-start` starts RPC/P2P early, consensus waits for genesis time - [x] GovDAO scripts execute successfully post-genesis 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: moul <94029+moul@users.noreply.github.com> Co-authored-by: aeddi <antoine.e.b@gmail.com> Co-authored-by: sw360cab <sw360cab@gmail.com> Co-authored-by: Antoine Eddi <5222525+aeddi@users.noreply.github.com> Co-authored-by: Morgan <git@howl.moe> Co-authored-by: Morgan Bazalgette <morgan@morganbaz.com>
Add the legal notice required by the legal team to the gnoweb footer, with links to three legal documents (Gno GPL License, Network Interaction Terms, and Contributor License Agreement). Also add `TERMS.md` and` CLA.md` at the repo root with the full legal text provided by counsel. **Footer (gnoweb):** - Replace the former "Legal" section (_Terms_ + _Privacy_ pointing to the same `LICENSE.md`) with a proper legal notice paragraph and three named legal document links (Gno GPL License, Network Interaction Terms, Contributor License Agreement) - Restructure the footer layout into two zones: navigation + social links on top, full-width legal disclaimer below - Navigation links now sit inline with the logo (`.nav-primary, 7 grid columns`), social links occupy the right column (.`nav-social, 3 grid columns`) **Legal documents:** - `TERMS.md`: Gno.land Network Interaction Terms (sections covering content ownership, on-chain licensing, disclaimers, etc.) - `CLA.md `: Gno.land Contributor License Agreement (sections covering copyright/patent grants, contributor representations, CLA Hash mechanism, etc.) <img width="1782" height="230" alt="Capture d’écran 2026-02-20 à 11 47 27" src="https://github.com/user-attachments/assets/a6276e7e-ef13-41f9-afce-2f0fde66693e" /> --------- Co-authored-by: Jae Kwon <53785+jaekwon@users.noreply.github.com> Co-authored-by: jaekwon <jae@tendermint.com>
939ee22 to
e32f291
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cherry-picks from master:
These are client-side changes (gnoweb/docs) that don't affect consensus.
Related: #5296